Portfolios: Preferences


Kerry Back

BUSI 721, Fall 2022
JGSB, Rice University

Recap

With generous assumptions about short sales

  • no borrowing fees
  • full use of the proceeds
  • no margin requirements

and the ability to borrow

  • borrowing rate=saving rate
  • no margin requirements

efficient portfolios are combinations of the tangency portfolio with borrowing or saving.

Efficient portfolios plot on the line from the risk-free rate through the tangency portfolio.

Risk Aversion

A simple way to model that we like high expected returns and dislike high variance is to rank portfolios based on a combination of mean and variance:

\(\text{expected return}-\frac{1}{2}\text{A}\times\text{variance}\)

  • The 1/2 is unnecessary but conventional. The number \(\text{A}\) reflects how much we dislike variance.
  • In other words, \(\text{A}\) represents risk aversion.

Why \(\text{A}\times\) variance instead of \(\text{A} \times\) std dev?

There is a theorem

  • by the mathematician/physicist John von Neumann
  • extended by the mathematician/statistician Leonard Savage
  • and extended by the Nobel-prize-winning economist Kenneth Arrow

that implies that for “reasonable preferences” and “small gambles” the expected return required to compensate for risk is proportional to variance.

This is smaller than if it were proportional to standard deviation.

3I

HTML tutorial

Calculating the Optimum

Recall that the portfolios on the tangency line satisfy

\[\frac{w^⊤Cov_i}{w^⊤Cov_j}=\frac{\bar{r}_i-r_{f}}{\bar{r}_j-r_{f}}\]

This is \(\text{n}-1\) equations in \(\text{n}\) unknowns. The tangency portfolio satisfies the additional condition \(\sum w_i\)=1.

The optimal portfolio satisfies the additional condition

\[w^⊤Cov_{i}=\frac{\bar{r}_i-r_{f}}{\text{A}}\]

import numpy as np

# standard deviations
sds = np.array([0.15, 0.25, 0.35])
S = np.diag(sds)

# correlations
r12 = 0.15
r13 = 0.6
r23 = 0.3

R = np.identity(3)
R[0, 1] = R[1, 0] = r12
R[0, 2] = R[2, 0] = r13
R[1, 2] = R[2, 1] = r23

# covariance matrix
C = S @ R @ S

# optimal portfolio
rf = 0.04
means = np.array([0.06, 0.1, 0.09])
A = 4
w = np.linalg.solve(C, (means-r)/A)

\(\text{w}_1=0.14\) \(\text{w}_2=0.22\) \(\text{w}_3=0.02\)

3J

HTML tutorial